#ifndef __STAT_H_INCLUDED
#define __STAT_H_INCLUDED

#include <timer.h>

typedef struct _stats_s
{
  unsigned long long int user, nice, system, idle, iowait, irq, softirq;
} _stats_t;

typedef struct stat_s
{
  tmr_t timer;
  _stats_t start, stop;
} stat_t;

stat_t statInit(void);
void statStart(stat_t *stat);
void statStop(stat_t *stat);
double statGetUserInUs(stat_t *stat);
double statGetNiceInUs(stat_t *stat);
double statGetSystemInUs(stat_t *stat);
double statGetIdleInUs(stat_t *stat);
double statGetIOWaitInUs(stat_t *stat);
double statGetIRQInUs(stat_t *stat);
double statGetSoftIRQInUs(stat_t *stat);

#endif /* __STAT_H_INCLUDED */
